//
//  MYStatusModel.swift
//  swift2.0项目开始
//
//  Created by 龚昕炜 on 16/8/1.
//  Copyright © 2016年 龚昕炜. All rights reserved.
//

import UIKit

class MYStatusModel: NSObject {
    
    /** 微博创建时间 */
    var created_at: String?
    
    /** 微博ID */
    var id: Int = 0
    
    /** 微博信息内容 */
    var text: String?
    
    /** 来源 */
    var source: String?
    
    /** 作者的用户信息字段(模型) */
    var user: MYStatusUserModel?
    
    /** 转发字段， 其中属性和当前模型一样且该模型的本字段为空 */
    /** 模型的一个属性是自身类型：需要手动赋值；最好属性中的retweeted_status不再有值避免无限创建模型的发生 */
    var retweeted_status:MYStatusModel?
    
    /** 转发数 */
    var reposts_count: Int = 0
    
    /** 评论数 */
    var comments_count: Int = 0
    
    /** 表态数 */
    var attitudes_count: Int = 0
    
    /** 图片数组 */
    var pic_urls: [MYPictureModel]?
    
    init(dict: [String: AnyObject]) {
        
        super.init()
        
        setValuesForKeysWithDictionary(dict)
        
        /** 手动转模型必须在KVC赋值之后，覆盖掉KVC赋的值并且防止被覆盖 */
        /** 转模型 */
        if let userDict = dict["user"] as? [String: AnyObject] {
            self.user = MYStatusUserModel(dict: userDict)
        }
        
        /** 转模型 */
        if let retweeted_statusDict = dict["retweeted_status"] as? [String: AnyObject] {
            self.retweeted_status = MYStatusModel(dict: retweeted_statusDict)
        }
        
        /** 转模型 */
        if let pic_urlsDict = dict["pic_urls"] as? [[String: AnyObject]] {
        
            pic_urls = [MYPictureModel]()
            
            for pic_urlDict in pic_urlsDict {
                
                let model = MYPictureModel(dict: pic_urlDict)
                
                pic_urls?.append(model)
            }
        }
        
    }
    
    override func setValue(value: AnyObject?, forUndefinedKey key: String) {
        
    }

}
